<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>易能旅游网站--目的地管理</title>
	<%@ include file="/pages/common/common.jsp" %>	
    <script type="text/javascript">
    jQuery(function($){
		$('#gridTable').datagrid({
			title:'目的地列表', //标题
			method:'post',
			iconCls:'icon-edit', //图标
			singleSelect:false, //多选
			height:360, //高度
			fitColumns: true, //自动调整各列，用了这个属性，下面各列的宽度值就只是一个比例。
			striped: true, //奇偶行颜色不同
			collapsible:true,//可折叠
			url:"${ctx}/admin/city/query.adm", //数据来源
			sortName: 'cityId', //排序的列
			sortOrder: 'desc', //倒序
			remoteSort: true, //服务器端排序
			idField:'cityId', //主键字段
			queryParams:{}, //查询条件
			pagination:true, //显示分页
			rownumbers:true, //显示行号
			columns:[[
				{field:'ck',checkbox:true,width:2}, //显示复选框
				{field:'cityCn',title:'中文名',width:25,sortable:true},
				{field:'cityFn',title:'繁体名',width:25,sortable:true},
				{field:'cityEn',title:'英文名',width:25,sortable:true},
				{field:'countryName',title:'国家',width:25,sortable:true},
				{field:'cityType',title:'类型',width:15,sortable:true,
					formatter:function(value,row,index){
						switch(row.cityType){
							case ${constant.CITY_TYPE_CZ}:
								return '城镇';
								break;
							case ${constant.CITY_TYPE_HD}:
								return '海岛';
								break;
							case ${constant.CITY_TYPE_HB}:
								return '海滨';
								break;
							case ${constant.CITY_TYPE_GY}:
								return '高原';
								break;
							case ${constant.CITY_TYPE_QT}:
								return '其他';
								break;
							default:
								return '未知';
								break;
						}
					}	
				},
				{field:'hotelPdf',title:'酒店PDF',width:30}
			]],
			toolbar:[{
				text:'新增',
				iconCls:'icon-add',
				handler:function(){
					addrow();
				}
			},'-',{
				text:'更新',
				iconCls:'icon-edit',
				handler:function(){
					updaterow();
				}
			},'-',{
				text:'删除',
				iconCls:'icon-remove',
				handler:function(){
					deleterow();
				}
			},'-',{
				text:'设置标配',
				iconCls:'icon-edit',
				handler:function(){
					setCityStd();
				}
			}],
			onLoadSuccess:function(){
				$('#gridTable').datagrid('clearSelections'); //一定要加上这一句，要不然datagrid会记住之前的选择状态，删除时会出问题
			}
		});		
		//填充查询条件中的国家列表
		$("#qcountryId").combobox({
			valueField:'countryId', //值字段
		    textField:'countryCm', //显示的字段
		    url:'${ctx}/common/queryAllCountry.con',
		    panelHeight:'auto',
			editable:false//不可编辑，只能选择
		});
		
	});
    /** 新增 */
    function addrow(){
    	$("#MyPopWindow").window({
  			title:'增加目的地信息',
  			href:'${ctx}/pages/back/city/pop_win.jsp',
  			width:600,
  			height:300,
  			onLoad: function(){
  				//填充查询条件中的国家列表
				$("#countryId").combobox({
					valueField:'countryId', //值字段
				    textField:'countryCm', //显示的字段
				    url:'${ctx}/common/queryAllCountry.con',
				    panelHeight:'auto',
					editable:false//不可编辑，只能选择
				});
  				
  				$('#cityForm').form('clear');
  				$("#hotelPdf").val("点击上传");
  			}
  			
  		});
	}
    /** 更新 */
    function updaterow(){
		var rows = $('#gridTable').datagrid('getSelections');//json：[{},{}]
		//这里有一个jquery easyui datagrid的一个小bug，必须把主键单独列出来，要不然不能多选
		if(rows.length==0){
			$.messager.alert('提示','请选择你要更新的目的地','info');
			return;
		}
		if(rows.length > 1){
			$.messager.alert('提示','只能选择一个目的地进行更新','info');
			return;
		}
		$("#MyPopWindow").window({
  			title:'更新目的地信息',
  			href:'${ctx}/pages/back/city/pop_win.jsp?update=true',
  			width:600,
  			height:300,
  			onLoad: function(){
  				//填充查询条件中的国家列表
				$("#countryId").combobox({
					valueField:'countryId', //值字段
				    textField:'countryCm', //显示的字段
				    url:'${ctx}/common/queryAllCountry.con',
				    panelHeight:'auto',
					editable:false//不可编辑，只能选择
				});
  				//自动将数据填充到表单中，无需再查询数据库
  				$("#cityForm").form('load', rows[0]);
  			}
  		});
	}
  	
    /** 删除 */
  	function deleterow(){
  		$.messager.confirm('提示','确定要删除吗?',function(result){
	        if (result){
	        	var rows = $('#gridTable').datagrid('getSelections');
	        	var ps = "";
	        	$.each(rows,function(i,n){
	        		if(i==0) 
	        			ps += "?uid="+n.userId;
	        		else
	        			ps += "&uid="+n.userId;
	        	});
	        	$.post('${ctx}/admin/city/del.adm'+ps,function(data){
	        		if(data.success){//操作成功
						$.messager.alert('提示','操作成功','info');
	        			$('#gridTable').datagrid('reload');//刷新数据
					}else{
						$.messager.alert('提示',data.msg,'warning');	
					}
	        	});
	        }
	    });
  	}
    
     /** 设置标配 */
    function setCityStd(){
		var rows = $('#gridTable').datagrid('getSelections');//json：[{},{}]
		//这里有一个jquery easyui datagrid的一个小bug，必须把主键单独列出来，要不然不能多选
		if(rows.length==0){
			$.messager.alert('提示','请选择你要设置的目的地','info');
			return;
		}
		if(rows.length > 1){
			$.messager.alert('提示','只能选择一个目的地进行设置','info');
			return;
		}
		$("#MyPopWindow").window({
  			title:'设置标配信息',
  			href:'${ctx}/pages/back/city/std_win.jsp?update=true',
  			width:400,
  			height:200,
  			onLoad: function(){
  				//填充标配酒店列表
  				$('#hotelId').combogrid({
					idField:'hotelId', //ID字段
				    textField:'hotelName', //显示的字段
				    url:"${ctx}/admin/hotel/query.adm?hotelCity="+rows[0].cityId,
				    fitColumns: true,
					striped: true,
					editable:false,//不可编辑，只能选择
				    columns:[[
				        {field:'hotelName',title:'名称',width:120},
				        {field:'hotelLevel',title:'星级',width:50},
				        {field:'stPrice',title:'标准价格',width:60}
				    ]]
				});
  				//填充标配接送列表
  				$('#carId').combogrid({
					idField:'carId', //ID字段
				    textField:'carType', //显示的字段
				    url:"${ctx}/admin/car/query.adm?cityId="+rows[0].cityId,
				    fitColumns: true,
					striped: true,
					editable:false,//不可编辑，只能选择
				    columns:[[
				        {field:'carType',title:'车型',width:60},
				        {field:'seatCount',title:'座位数',width:60},
				        {field:'price',title:'价格',width:50}
				    ]]
				});
  				//填充标配导游列表
  				$('#guideId').combogrid({
					idField:'guideId', //ID字段
				    textField:'guideLan', //显示的字段
				    url:"${ctx}/admin/guide/query.adm?cityId="+rows[0].cityId,
				    fitColumns: true,
					striped: true,
					editable:false,//不可编辑，只能选择
				    columns:[[
				        {field:'guideLan',title:'语种',width:50,
				        	formatter:function(value,row,index){
								switch(row.guideLan){
									case ${constant.GUIDE_LAN_CN}:
										return '中文';
										break;
									case ${constant.GUIDE_LAN_EN}:
										return '英文';
										break;
									case ${constant.GUIDE_LAN_OT}:
										return '其他';
										break
									default:
										return '未知';
										break;
								}
							}	
				        },
				        {field:'price',title:'价格',width:60},
				        {field:'beginTime',title:'开始时间',width:60},
				        {field:'endTime',title:'结束时间',width:60}
				    ]]
				});
  				
  				//自动将数据填充到表单中，无需再查询数据库
  				$("#cityForm").form('load', rows[0]);
  			}
  		});
	}
    
    /** 表格查询 */
	function searchCity(){
		var fields =$('#queryForm').serializeArray(); //自动序列化表单元素为JSON对象数据格式如下
		// [ 
		//     {name: 'firstname', value: 'Hello'}, 
		//     {name: 'lastname', value: 'World'},
		//     {name: 'alias'}, // this one was empty
  		// ]
		var params={};
		$.each( fields, function(i, field){//设置查询参数
			params[field.name] = field.value; 
		});
		$('#gridTable').datagrid('reload',params); //设置好查询参数 reload 一下就可以了
	}
	/** 清空查询条件 */
	function clearForm(){
		$('#queryForm').form('clear');
	}
	
	/** 增加或更新 */
	function addOrUpdate(flag){
		var r = $('#cityForm').form('validate');
		if(!r) {
			return false;
		}
		var url="${ctx}/admin/city/add.adm";
		if(flag){
			url="${ctx}/admin/city/update.adm";
		}
		$.post(url,$("#cityForm").serializeArray(),function(data){
			if(data.success){//操作成功
				$.messager.alert('提示','操作成功','info');
				$('#gridTable').datagrid('reload');//刷新数据
				$('#MyPopWindow').window('close');//关闭窗口
			}else{
				$.messager.alert('提示',data.msg,'warning');	
			}
		});
	}
	
	/** 文件上传 */
    function uploadFile(fieldName){
		$("#uploadWindow").window({
  			title:'上传文件',
  			content:'<iframe scrolling="no" frameborder="0" src="${ctx}/pages/common/upload.jsp?fieldName='+fieldName+'" style="width:100%;height:100%;"></frame>',
  			width:350,
  			height:120,
  			onLoad: function(){
  				
  			} 			
  		});
    }
	</script>	
  </head>
  
  <body>
    <form id="queryForm" class="qform">
		<table class="qtable" width="100%">
			<tr>
				<td class="qtd">中文名：<input class="txt" name="countryCm" style="width: 100px;"></td>
				<td class="qtd">类&nbsp;&nbsp;型：
					<select class="easyui-combobox" name="cityType" panelHeight="auto" style="width:150px;" required="true" editable="false">
						<option value="-1">请选择</option>
						<option value="${constant.CITY_TYPE_CZ}">城镇</option>
						<option value="${constant.CITY_TYPE_HD}">海岛</option>
						<option value="${constant.CITY_TYPE_HB}">海滨</option>
						<option value="${constant.CITY_TYPE_GY}">高原</option>
						<option value="${constant.CITY_TYPE_QT}">其他</option>
					</select>
				</td>
				<td class="qtd" align="center"><a href="#" onclick="clearForm();" class="easyui-linkbutton" iconCls="icon-no">清空</a></td>
			</tr>
			<tr>
				<td class="qtd">国&nbsp;&nbsp;家：<input class="txt" name="countryId" id="qcountryId" style="width: 100px;"></td>
				<td class="qtd">&nbsp;</td>
				<td class="qtd" align="center"><a href="#" onclick="searchCity();" class="easyui-linkbutton" iconCls="icon-search">查询</a></td>
			</tr>
		</table>
	</form>
	<div class="griddiv">
		<table id="gridTable"></table>
	</div>
	<div id="MyPopWindow" modal="true" shadow="false" minimizable="false" cache="false" maximizable="false" collapsible="false" resizable="false" style="margin: 0px;padding: 0px;overflow: auto;"></div>
	<div id="uploadWindow" modal="true" shadow="false" minimizable="false" cache="false" maximizable="true" collapsible="false" resizable="false" style="margin: 0px;padding: 0px;overflow: auto;"></div>
  </body>
</html>
